﻿using TrackSystem.Contracts;

namespace TrackSystem.UI.Server.HttpRepository
{
    public interface IHttpRepository<TViewDto, in TUpdateDto>
    {
        Task<IEnumerable<TViewDto>> GetAll();

        Task<TViewDto?> GetById(int id);

        Task<ApiResult<TViewDto>> InsertAsync(TUpdateDto equip);

        Task<ApiResult<TViewDto>> UpdateAsync(TUpdateDto equip);

        Task<ApiResult<TViewDto>> DeleteAsync(int id);
    }
}
